#pragma once

#include "Color.h"
#include "Material.h"
class CRay;
class CPoint3D;

class CPrimitive
{
public:
	CPrimitive(void);
	virtual ~CPrimitive(void);

	void SetColor(float r, float g, float b);
	void SetColor(CColor& color);
	void SetMaterial(const CMaterial& Material);

	const CColor& GetColor();
	CMaterial& GetMaterial();

	virtual float Intersect(CRay& ray, CPoint3D& intersection, CPoint3D& normal);	
private:
	// Material
	CColor Color;
	CMaterial Material;
};
